package com.ptone.messagecenter.modules.msg.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.ptone.messagecenter.modules.msg.dto.MsgRecordsDTO;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * msg_records : 消息记录
 */
@Data
@TableName("msg_records")
public class MsgRecords extends Model<MsgRecords> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键 : id,
     */
    @TableField("id")
    private Long id;

    /**
     * sender_mobile,  发送人手机号
     */
    @TableField("sender_mobile")
    private String senderMobile;

    /**
     * reader_mobile,  收件人手机号
     */
    @TableField("reader_mobile")
    private String readerMobile;

    /**
     * message,  消息体
     */
    @TableField("message")
    private String message;

    /**
     * is_read,  是否已读
     */
    @TableField("is_read")
    private Boolean isRead;

    /**
     * is_confirm,  是否确认（部分消息需要确认）
     */
    @TableField("is_confirm")
    private Boolean isConfirm;

    /**
     * msg_type,  消息类型（0：访客短信，1：系统消息）
     */
    @TableField("msg_type")
    private Integer msgType;

    /**
     * create_time,  创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * creator_id,  创建人id
     */
    @TableField("creator_id")
    private String creatorId;

    /**
     * update_time,  更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * updater_id,  更新人id
     */
    @TableField("updater_id")
    private String updaterId;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public MsgRecords() {
    }

    /**
     * 相当于copy
     *
     * @param msgRecordsDTO
     */
    public MsgRecords(MsgRecordsDTO msgRecordsDTO) {
        this.senderMobile = msgRecordsDTO.getSenderMobile();
        this.readerMobile = msgRecordsDTO.getReaderMobile();
        this.msgType = msgRecordsDTO.getMsgType();
    }
}
